/*
 * Copyright 2018 JDCLOUD.COM
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *    http:#www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 * LogSearch APIs
 * 日志扫描接口
 *
 * OpenAPI spec version: v1
 * Contact: 
 *
 * NOTE: This class is auto generated by the jdcloud code generator program.
 */


using System;
using System.Collections.Generic;
using System.Text;
using JDCloudSDK.Core.Service;

using JDCloudSDK.Logs.Model;
using JDCloudSDK.Core.Annotation;
using Newtonsoft.Json;

namespace  JDCloudSDK.Logs.Apis
{

    /// <summary>
    ///  搜索日志
    /// </summary>
    public class SearchRequest : JdcloudRequest
    {
        ///<summary>
        /// &quot;preview&quot;表示预览, &quot;fulltext&quot;表示全文检索, &quot;advance&quot;表示按照搜索语句检索
        ///Required:true
        ///</summary>
        [Required]
        public   string Action{ get; set; }
        ///<summary>
        /// Base64编码的搜索表达式,
        ///</summary>
        public   string Expr{ get; set; }
        ///<summary>
        /// 搜索关键字大小写敏感， 默认false
        ///</summary>
        public   bool CaseSensitive{ get; set; }
        ///<summary>
        /// 开始时间。格式 “YYYY-MM-DDThh:mm:ssTZD”, 比如 “2018-11-09T15:34:46+0800”.当action !&#x3D; preview时，必填
        ///</summary>
        public   string StartTime{ get; set; }
        ///<summary>
        /// 结束时间。格式 “YYYY-MM-DDThh:mm:ssTZD”, 比如 “2018-11-09T15:34:46+0800”.当action !&#x3D; preview时，必填
        ///</summary>
        public   string EndTime{ get; set; }
        ///<summary>
        /// 页数。 最小为1，最大为99
        ///</summary>
        public   long? PageNumber{ get; set; }
        ///<summary>
        /// 每页个数。默认为10，最大100
        ///</summary>
        public   long? PageSize{ get; set; }
        ///<summary>
        /// 返回排序,不填或者为空，默认为desc，&quot;asc&quot;:按照时间正序返回结果，&quot;desc&quot;:按照时间倒序返回结果
        ///</summary>
        public   string Sort{ get; set; }
        ///<summary>
        /// 指定返回字段，只对系统日志生效，不填默认按照产品线配置返回字段，Name支持：key，Values填入返回字段
        ///</summary>
        public List<Filter> Filters{ get; set; }

        ///<summary>
        /// 地域 Id
        ///Required:true
        ///</summary>
        [Required]
        [JsonProperty("regionId")]
        public   string RegionIdValue{ get; set; }
        ///<summary>
        /// 日志集ID
        ///Required:true
        ///</summary>
        [Required]
        public   string LogsetUID{ get; set; }
        ///<summary>
        /// 日志主题ID
        ///Required:true
        ///</summary>
        [Required]
        public   string LogtopicUID{ get; set; }
    }
}